#!/usr/bin/env bash

. ./test.common

test_start "allow/deny directives"

check_config_h 'FEAT_CMDMON 1' || test_skip

limit=500

# Note that start_client in clknetsim.bash always adds allow to the config

for server_conf in \
	"deny" \
	"deny all" \
	"deny 192.168.0.0/16" \
	"deny 192.168.123" \
	"deny 192.168.123.2" \
	"deny all
allow 192.168.124.0/24"
do
	run_test || test_fail
	check_chronyd_exit || test_fail
	check_packet_interval || test_fail
	# These checks are expected to fail
	check_source_selection && test_fail
	check_sync && test_fail
done

for server_conf in \
	"deny all
allow" \
	"deny all
allow all" \
	"deny all
allow 192.168.123" \
	"deny all
allow 192.168.123/24" \
	"deny 192.168.124.0/24"
do
	run_test || test_fail
	check_chronyd_exit || test_fail
	check_source_selection || test_fail
	check_packet_interval || test_fail
	check_sync || test_fail
done

test_pass
